import Vue from 'vue'
import zh from 'vee-validate/dist/locale/zh_CN'
import VeeValidate, { Validator } from 'vee-validate'
/**
 * @description 表单验证插件
 */
Vue.use(VeeValidate)
Validator.localize('zh', zh)
// 手机号正则
export const phoneReg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/
// 验证码正则
export const codeReg = /^\d{6}$/
// 密码正则
export const pwdReg = /^\w{6,21}$/
// 自定义手机号验证
Validator.extend('phone', {
  getMessage: field => {
    return '手机号验证失败'
  },
  validate: (value, args) => {
    return phoneReg.test(value)
  }
})
// 验证必要性的规则
Validator.extend('required', {
  getMessage: (field) => field + '必须输入！', // 验证失败的回调
  validate: (value) => value // 验证规则，value是我们输入的值

})

// 验证码的验证规则
Validator.extend('code', {
  getMessage: (filed) => '验证码必须为6位数字！', // 验证失败的回调
  validate: (value) => codeReg.test(value) // 验证规则

})

// 密码的验证规则
Validator.extend('pwd', {
  getMessage: (filed) => '密码为6到21位英文、数字、下划线', // 验证失败的回调
  validate: (value) => pwdReg.test(value) // 验证规则

})

// 重复密码的验证规则
Validator.extend('ispwd', {
  getMessage: (filed) => '重复密码必须和登录密码一致', // 验证失败的回调
  validate: (value, args) => value === args[0] // 验证规则

})

// 协议规则
Validator.extend('isagree', {
  getMessage: (filed) => '协议必须同意！', // 验证失败的回调
  validate: (value) => value // 验证规则

})
